const { log } = require("console");
let express = require("express");
// 1-创建一个路由中间件
let router = express.Router();

// 上传文件模块
var multer = require("multer");
//内置的path 模块 操作路径的模块
let path = require("path");
// 配置上传图片的路径
var storage = multer.diskStorage({
  //上传图片的路径
  destination: function (req, file, cb) {
    cb(null, "public/images");
  },
  // 文件名
  filename: function (req, file, cb) {
    // file-- 中间件解析出来的请求体中 图片对象
    // 文件的原始名字
    log(file.originalname);
    //path.extname(file.originalname) 获取前端上传图片的 后缀名
    //文件名字 以上传的时间戳为文件的名字
    const uniqueSuffix = Date.now() + "-" + Math.round(Math.random() * 1e9);

    cb(null, uniqueSuffix + path.extname(file.originalname));
  },
});

//根据存储设置，创建upload
var upload = multer({ storage: storage })
  // 支持上传单张图片-图片的参数名是 img
  .single("img");

router.post("/", upload, function (req, res) {
  console.log(req.file);
  // 获取到--前端--传递过来的 图片--保存到 public文件下面的images文件下的 1.png

  // 返回给前端一个 url 网址 -- http://192.168.5.27:3000/images/1.png

  res.json({
    code: 1,
    msg: "上传图片成功",
    url: "http://localhost:3000/images/" + req.file.filename,
  });
});

module.exports = router;
